A clock source can output a clock signal that synchronizes the activities in a large synchronous system, such as a memory array. The clock signal acts as both a sequence reference and as a time reference for events within the synchronous system. As a sequence reference, the clock transitions define successive instants at which system state changes occur. As a time reference, the time period between clock transitions accounts for system delays occurring between the output of the clock source and the input to a selected clocked element in the synchronous system.
Typically, the clock signal is distributed from the clock source to the elements of a large synchronous system through a clock tree. The clock tree includes buffers that distribute the received clock signal to multiple paths, such that a tree shaped structure is formed with the clock source at the trunk of the tree and the elements of the synchronous system receiving the clock signal at the leaves of the tree. One distributed clock tree technique is an H-tree scheme for distributing the clock signal, as shown in FIG. 6. The illustrated H-tree scheme distributes the clock signal along branches in a tree wherein the leaves in the tree are the clocked elements of the synchronous system. H-tree schemes can be used to distribute the clock signal to regular arrays within a synchronous system such that every element in the synchronous system has the same distance from the clock generator.
Clock tree distribution schemes, however, suffer from drawbacks such as clock skew. Clock skew is defined as the time delay between generation of the clock signal at a clock source and arrival of the clock signal at a selected clocked element. Differences in clock skew between the clock source and different clocked elements can create errors in the synchronous system as the clocked elements are triggered at different points in time.
Accordingly, there is a need for a synchronous system that generates and distributes a clock signal with reduced errors caused by differences in clock skew.